package com.example.micro_property_springboot.service;

import com.example.micro_property_springboot.pojo.AssetInfo;
import java.util.List;
import java.util.Map;

/**
 * 统计分析服务接口
 * 提供资产统计分析相关的业务逻辑方法
 */
public interface StatisticsService {

    /**
     * 获取资产概览统计数据
     * @return 资产概览数据
     */
    Object getAssetOverview();

    /**
     * 获取资产状态分布统计
     * @return 状态分布列表
     */
    List<Object> getAssetStatusDistribution();

    /**
     * 获取部门资产分布统计
     * @return 部门分布列表
     */
    List<Object> getAssetDeptDistribution();

    /**
     * 获取资产分类分布统计
     * @return 分类分布列表
     */
    List<Object> getAssetCategoryDistribution();

    /**
     * 获取资产价值趋势数据
     * @param startDate 开始日期，格式：yyyy-MM-dd
     * @param endDate 结束日期，格式：yyyy-MM-dd
     * @return 价值趋势列表
     */
    List<Object> getAssetValueTrend(String startDate, String endDate);

    /**
     * 获取资产台账列表
     * @return 资产列表
     */
    List<AssetInfo> getAssetLedgerList();

    /**
     * 获取资产流转报表数据
     * @return 流转报表数据
     */
    List<Map<String, Object>> getAssetTransferReport();

    /**
     * 获取部门领用热度数据
     * @return 部门领用热度数据
     */
    List<Map<String, Object>> getDeptUsageHotness();
}